POO es un paradigma de programaci贸n que se basa en la creaci贸n de clases y objetos que interact煤an entre s铆 para modelar y resolver problemas del mundo real de manera m谩s efectiva.
En Python, la POO es una parte fundamental y poderosa del lenguaje, lo que permite la creaci贸n de c贸digo modular, reutilizable y f谩cil de mantener.
Una clase es una plantilla que define las propiedades y comportamientos comunes de un tipo de objeto.
Define la estructura de los objetos, pero no contiene datos reales. En Python, las clases se definen utilizando la palabra clave class.
class Coche:
# Constructor
def __init__(self, marca, modelo):
self.marca = marca
self.modelo = modelo
# M茅todo
def conducir(self):
print(f"Conduciendo el {self.marca} {self.modelo}")
Un objeto es una instancia espec铆fica de una clase.
Se crea a partir de una clase y tiene sus propios valores para las propiedades de la clase.
Los objetos pueden acceder a los m茅todos y atributos definidos en la clase.
class Persona:
# Variable de clase
especie = "Humano"
# Constructor
def __init__(self, nombre, edad):
# Variables de instancia
self.nombre = nombre
self.edad = edad
# M茅todo
def saludar(self):
print(f"Hola, mi nombre es {self.nombre} y tengo {self.edad} a帽os")
Atributos: Los atributos son variables asociadas a un objeto que representan caracter铆sticas o datos de ese objeto.
Pueden ser variables de instancia (pertenece a cada objeto) o variables de clase (compartidas por todos los objetos de la misma clase).
class Persona:
# Variable de clase
especie = "Humano"
# Constructor
def __init__(self, nombre, edad):
# Variables de instancia
self.nombre = nombre
self.edad = edad
# M茅todo
def saludar(self):
print(f"Hola, mi nombre es {self.nombre} y tengo {self.edad} a帽os")
M茅todos: Los m茅todos son funciones definidas en una clase que representan comportamientos o acciones que los objetos de esa clase pueden realizar.
Pueden acceder y modificar los atributos de la clase.
Es el proceso de ocultar los detalles internos de un objeto y exponer solo las operaciones necesarias para interactuar con 茅l.
En Python, la encapsulaci贸n se logra utilizando convenciones de nomenclatura y m茅todos especiales como getters y setters.
Es un mecanismo que permite a una clase heredar atributos y m茅todos de otra clase.
La clase que hereda se llama subclase o clase hija, y la clase de la que se hereda se llama superclase o clase padre.
Es la capacidad de un objeto para tomar varias formas.
En Python, el polimorfismo se logra mediante el uso de m茅todos con el mismo nombre en diferentes clases, que pueden comportarse de manera diferente seg煤n la clase a la que pertenezcan.
En este proyecto, los estudiantes tendr谩n la oportunidad de aplicar todos los conceptos aprendidos en un proyecto pr谩ctico de Python.
El proyecto consistir谩 en desarrollar una aplicaci贸n que aborde un problema real o simule un escenario del mundo real.
Los estudiantes deber谩n dise帽ar la estructura del proyecto, implementar las clases necesarias utilizando la POO, organizar el c贸digo en m贸dulos y paquetes, y aplicar los principios de encapsulamiento, herencia y polimorfismo seg煤n corresponda.
Facilitador: Diego Saavedra
Correo: dsaavedra@codingsacademy.com